package com.xzmzhp.controller.finance;

import cn.hutool.core.collection.CollUtil;
import com.xzmzhp.constant.ReturnConstant;
import com.xzmzhp.pojo.finance.FinanceImg;
import com.xzmzhp.service.finance.FinanceImgService;
import com.xzmzhp.utils.StringUtils;
import com.xzmzhp.utils.return_tool.ReturnData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author: 王源(xm)
 * @create: 2022-03-25 15:15
 * @program: ams
 * @description: 财务图片前端交互类
 */
@Controller
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("/financeImg")
public class FinanceImgController {

    @Autowired
    private FinanceImgService financeImgService;

    /**
     * 根据财务id查询数据
     * @param financeId 财务id
     * @return 财务记录图片信息
     */
    @GetMapping("/findFinanceImgByFinanceId")
    public ReturnData findFinanceImgByFinanceId(Integer financeId){
        List<FinanceImg> list = financeImgService.findFinanceImgByFinanceId(financeId);
        if (CollUtil.isNotEmpty(list)){
            return ReturnData.ok(list);
        }
        return ReturnData.error(ReturnConstant.FAIL,"查询财务记录图片信息失败");
    }

    /**
     * 添加财务图片信息
     * @param financeImg 财务图片信息
     * @return 是否成功
     */
    @PostMapping("/addFinanceImg")
    public ReturnData addFinanceImg(@RequestBody FinanceImg financeImg){
        Integer i = financeImgService.addFinanceImg(financeImg);
        if (StringUtils.isNotNull(i)){
            return ReturnData.ok();
        }
        return ReturnData.error(ReturnConstant.FAIL,"添加财务图片信息失败");
    }

    /**
     * 批量添加财务图片信息
     * @param financeImgs 财务图片信息
     * @return 是否成功
     */
    @PostMapping("/addFinanceImgs")
    public ReturnData addFinanceImgs(@RequestBody  List<FinanceImg> financeImgs){
        Integer i = financeImgService.addFinanceImgs(financeImgs);
        if (StringUtils.isNotNull(i)){
            return ReturnData.ok();
        }
        return ReturnData.error(ReturnConstant.FAIL,"批量添加财务图片信息失败");
    }

    /**
     * 修改财务图片信息
     * @param financeImg 财务图片信息
     * @return 是否成功
     */
    @PostMapping("/exitFinanceImg")
    public ReturnData exitFinanceImg(FinanceImg financeImg){
        Integer i = financeImgService.exitFinanceImg(financeImg);
        if (StringUtils.isNotNull(i)){
            return ReturnData.ok();
        }
        return ReturnData.error(ReturnConstant.FAIL,"修改财务图片信息失败");
    }

    /**
     * 删除财务图片信息
     * @param id 财务图片id
     * @return 是否成功
     */
    @PostMapping("/delFinanceImg")
    public ReturnData delFinanceImg(Integer id){
        Integer i = financeImgService.delFinanceImg(id);
        if (StringUtils.isNotNull(i)){
            return ReturnData.ok();
        }
        return ReturnData.error(ReturnConstant.FAIL,"删除财务图片信息失败");
    }

    /**
     * 根据财务id删除财务图片信息
     * @param financeId 财务图片信息
     * @return 是否成功
     */
    @PostMapping("/delFinanceImgByFinanceId")
    public ReturnData delFinanceImgByFinanceId(Integer financeId){
        Integer i = financeImgService.delFinanceImgByFinanceId(financeId);
        if (StringUtils.isNotNull(i)){
            return ReturnData.ok();
        }
        return ReturnData.error(ReturnConstant.FAIL,"批量删除财务图片信息失败");
    }
}
